package com.lagou.work02;

/**
 * 上网套餐类
 */
public class Code03NetworkPackage extends Code03AbstractPackage implements Code03ServerNetwork {

    public Code03NetworkPackage(int price, int phonePackage) {
        // 继承抽象类套餐
        super(price,phonePackage);
    }

    //重写抽象套餐类，打印套餐信息；
    @Override
    public void showInfo() {
        System.out.printf("上网套餐：流量包%dGB;每月资费%d元/GB;\n", getPhonePackage(), getPrice());
    }

    // 重写上网服务接口方法
    @Override
    public void server(int networkData, Code03PhoneCard phoneCard) {
        // 消费金额=上网流量*资费
        int consumeValue=networkData*getPrice();
        // 手机余额减消费
        phoneCard.setAccountBalance(phoneCard.getAccountBalance() - consumeValue);
        // 添加流量消费数量
        phoneCard.addComsume(consumeValue,0,networkData);
        // 打印手机卡当前消费信息
        phoneCard.showInfo();
    }
}
